﻿using System;
using System.Collections.Generic;

namespace XmlServer.ServiceContracts
{

    /// <summary>
    /// The response from a IOperator
    /// </summary>
    public interface IResponse
    {
        /// <summary>
        /// True/False indicating if the respose was successfully processed
        /// </summary>
        bool Success { get; set; }

        /// <summary>
        /// The tick mark when processing started
        /// </summary>
        int StartProcessing { get; set; }

        /// <summary>
        /// The tick mark when processing finished
        /// </summary>
        int StopProcessing { get; set; }

        /// <summary>
        /// The total processing time in the Operator
        /// </summary>
        int TotalProcessingTime { get; }

        /// <summary>
        /// The collection of facts that are responding to the request
        /// </summary>
        List<IFact> Facts { get; set; }

        /// <summary>
        /// The original request to the operator
        /// </summary>
        IRequest Request { get; }
                
        
    }
}
